#!/bin/bash

#printf "1*1=$(echo "1*1" | bc)"
#printf " \n "
#printf "1*2=$(echo "1*2" | bc)"
#printf " "
#printf "2*2=$(echo "2*2" | bc)"
#printf " \n "
#printf "1*3=$(echo "1*3" | bc)"
#printf " "
#printf "2*3=$(echo "2*3" | bc)"
#printf " "
#printf "3*3=$(echo "3*3" | bc)"
#printf " \n "

#for ((i=1;i<=$j;i++));do
#  printf "$i*$j=$( echo "$i* $j" | bc )"
#done
#echo ""
#done
for ((j=1;j<=9;j++)); do
  for ((i=1;i<=j;i++)); do
#使用bc命令计算乘法结果，并保留两位小数
    result=$(echo "scale=2; $i * $j" | bc)    
#格式化输出乘法表达式和结果    
printf "%s*%s=%s\t" "$i" "$j" "$result"
  done
#每完成一行的输出后，换行
  printf "\n"
done
# 1. 添加了`\n`作为`printf`的参数，以确保在每个乘法表达式后换行。
#3.使用了`scale=2`选项在`bc`命令中设置小数点后的位数，以便输出结果保留两位小数。如果您不需要小数点后的位数，可以省略这个选项。
#4.我在内层循环结束后的`printf`命令中添加了一个额外的`\n`，以确保在每行的末尾都有一个换行符，这样乘法表的每一行都会在新的一行开始。现在，这段代码应该能够正确地打印出一个9x9的乘法表，每一行和每一列都正确地显示了相应的乘法结果。
